import type { Router } from 'vue-router'
import NProgress from 'nprogress'
import 'nprogress/nprogress.css'

NProgress.configure({ showSpinner: false })

export function createPermissionGuard(router: Router) {
  router.beforeEach(async (to, _from, next) => {
    NProgress.start()

    // 这里可以添加动态标题设置
    const title = to.meta.title ? `${to.meta.title} - Saury Demo` : 'Saury Demo'
    document.title = title

    // 可以在这里添加 Token 校验、权限拦截等逻辑
    // const token = localStorage.getItem('token')
    // if (!token && to.path !== '/login') {
    //   next('/login')
    //   NProgress.done()
    //   return
    // }

    next()
  })

  router.afterEach(() => {
    NProgress.done()
  })
}
